05. Bonus Challenge
Catch the Run Away Car with UKF
Once you have your Unscented Kalman Filter working well, why not try it out on this extra challenge. In Artificial Intelligence for Robotics, Sebastian's final project was to catch a run away robot moving in a continuous circle with constant velocity. This bonus challenge revisits that same problem but with the implementation of an Unscented Kalman Filter.
The run away car in this case will be being sensed by a stationary sensor, that is able to measure both noisy lidar and radar data. The capture vehicle will need to use these measurements to close in on the run away car. To capture the the run away car the capture vehicle needs to come within .1 unit distance of its position. However the capture car and the run away car have the same max velocity, so if the capture vehicle wants to catch the car, it will need to predict where the car will be ahead of time.
The Github repository for this project can be found here and include the program files that allow you to set up and run c++ uWebSocketIO, which is used to communicate with the simulator. The simulator provides the script the noisy lidar and radar data of the run away car and the capture car's position and heading, the script feeds back a desired distance and heading that the capture car will execute in the simulator. The video below shows what it looks like when the capture car successfully deploys a UKF to catch the run away car. Of course don't feel like you have to use the same strategy from the video, there are many different ways to catch the car.
In the simulator you can also set the noise parameters for lidar and radar to whatever you want. With how much noise are you still able to catch the car?
T2 P1 UKF
Download Links for Term 2 Simulator
Running the Program
Download the simulator and open it. In the main menu screen select Bonus Challenge: Catch the Run Away Car.
Once the scene is loaded you can hit the RUN button to see the run away car drive in a circular pattern, it wont actually be taking measurement data until the c++ script is running. Pressing the ESCAPE KEY returns to the simulator main menu.
The CarND-Catch-Run-Away-Car Github repository has more detailed instructions for installing and using c++ uWebScoketIO.